package com.tianpengcc.service;

import java.util.List;

import com.tianpengcc.model.DateType;
import com.tianpengcc.model.Diray;
import com.tianpengcc.model.PageBean;

/**
 * 
 * <p>Title:DirayService</p>
 * <p>Description:这里是日记的Service接口</p>
 * <p>Compary</p>
 * @author 田鹏
 * @date 2017年10月25日下午9:51:47
 */
public interface DirayService {
	
	/**
	 * 
	 * <p>Description:根据传入过来的页码和每页显示的数量，取得日记并封装到PageBean返回</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月25日下午9:55:28
	 */
	public PageBean<Diray> getDirayPageBeanByLimit(int pageNumber,int pageSize) throws Exception ;
	
	/**
	 * 
	 * <p>Description:根据DirayTypeId和分页，取得Diray集合，并封装到PageBean返回</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月26日下午4:47:46
	 */
	public PageBean<Diray> getDirayPageBeanByDirayTypeIdAndLimit(int dirayTypeId,int pageNumber,int pageSize) throws Exception ;
	
	/**
	 * 
	 * <p>Description:根据传入过来的最多显示多少个数据，取得时间的类型model并封装到PageBean返回</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月26日上午12:34:00
	 */
	public List<DateType> getDateTypeBySize(int dateTypeSize) throws Exception ;
	
	/**
	 * 
	 * <p>Description:根据传入过来的年和月，并分页取得日记</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月26日下午5:44:39
	 */
	public PageBean<Diray> getByYearAndMonth(int year,int month,int pageNumber,int pageSize) throws Exception ;

	/**
	 * 
	 * <p>Description:根据日记名称，模糊取得日记，并分页，封装到PageBean返回</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月26日下午9:18:52
	 */
	public PageBean<Diray> getByDirayNameLikeAndLimit(String dirayName,int pageNumber,int pageSize) throws Exception ;
	
	/**
	 * 
	 * <p>Description:根据dirayId取得日记</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月26日下午11:43:34
	 */
	public Diray getByDirayId(Integer dirayId) throws Exception ;
	
	/**
	 * 
	 * <p>Description:添加日记返回添加后的日记</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月27日下午3:45:03
	 */
	public Diray doAdd(Diray diray) throws Exception ;

	/**
	 * 
	 * <p>Description:更新操作，根据日记的ID进行更新，返回更新后的日记对象</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月27日下午3:46:25
	 */
	public Diray doUpdate(Integer dirayId,Diray diray)throws Exception ;

	/**
	 * 
	 * <p>Description:根据日记的Id进行删除</p>
	 * <p>Compary</p>
	 * @author 田鹏
	 * @date 2017年10月27日下午4:02:00
	 */
	public void doDelete(Integer dirayId) throws Exception ;
}
